package com.ruoyi.spspublic.mapper;

import com.ruoyi.spspublic.domain.BatchSignSearchDto;
import com.ruoyi.spspublic.domain.SingleSignData;
import com.ruoyi.spspublic.domain.TMisSign;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 签字信息Mapper接口
 *
 * @author wangwei
 * @date 2023-06-23
 */
public interface TMisSignMapper {
  /**
   * 查询签字信息
   *
   * @param ctId 签字信息ID
   * @return 签字信息
   */
  public TMisSign selectTMisSignById(String ctId);

  public TMisSign selectTMisSignMaxDtDateById(String ctId);

  /**
   * 查询签字信息列表
   *
   * @param tMisSign 签字信息
   * @return 签字信息集合
   */
  public List<TMisSign> selectTMisSignList(TMisSign tMisSign);

  /**
   * 新增签字信息
   *
   * @param tMisSign 签字信息
   * @return 结果
   */
  public int insertTMisSign(TMisSign tMisSign);

  /**
   * 修改签字信息
   *
   * @param tMisSign 签字信息
   * @return 结果
   */
  public int updateTMisSign(TMisSign tMisSign);

  /**
   * 删除签字信息
   *
   * @param ctId 签字信息ID
   * @return 结果
   */
  public int deleteTMisSignById(String ctId);

  /**
   * 批量删除签字信息
   *
   * @param ctIds 需要删除的数据ID
   * @return 结果
   */
  public int deleteTMisSignByIds(String[] ctIds);

  int selectExistSigns(
      @Param("functionNo") String functionNo, @Param("businessNo") String businessNo);

  void updateExpiredSign(TMisSign querySign);

  /**
   * 根据表名、姓名查询单据数据
   *
   * @param batchSignDto 审批请求类
   * @return 结果
   */
  SingleSignData selectByCtId(BatchSignSearchDto batchSignDto);

  int updateSignData(SingleSignData singleSignData);
}
